Device and method for locking in button context based on a source contact of an electronic communication

ABSTRACT

A device and method for locking in button context based on a source contact of an electronic communication is provided. An electronic communication is received, via a communication interface, from a source contact. A controller detects that button, of one or more buttons, has been activated, each of the one or more buttons mapped to activation of respective functions. The controller identifies a respective function mapped to the button. When the button is activated within a threshold time period after receiving the electronic communication, the controller performs the respective function using the source contact from which the electronic communication was received. When the button is activated after the threshold time period, the controller performs the respective function independent of the source contact.

BACKGROUND OF THE INVENTION

Operation of radio and/or mobile devices by public safety personnel,such as police officers and the like, may be challenging in criticalsituations. For example, such public safety personnel may simultaneouslybe attempting to manage crowds, erratic individuals and/or dangerousenvironments, as well as operating a mobile device. Many mobile devicesare tending towards inclusion of touchscreens to operate the mobiledevices, which generally require visual attention, as well as cognitiveand physical resources of public safety personnel interacting with atouchscreen.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

The accompanying figures, where like reference numerals refer toidentical or functionally similar elements throughout the separateviews, together with the detailed description below, are incorporated inand form part of the specification, and serve to further illustrateembodiments of concepts that include the claimed invention, and explainvarious principles and advantages of those embodiments.

FIG. 1 is a perspective view of a device configured for locking inbutton context based on a source contact of an electronic communicationin accordance with some embodiments.

FIG. 2 depicts details of buttons of the device of FIG. 1 in accordancewith some embodiments.

FIG. 3 is a schematic diagram of the device of FIG. 1 in accordance withsome embodiments.

FIG. 4 is a perspective view of an alternative device configured forlocking in button context based on a source contact of an electroniccommunication in accordance with some embodiments.

FIG. 5 is a flowchart of a method for locking in button context based ona source contact of an electronic communication in accordance with someembodiments.

FIG. 6 is a flowchart of a method for locking in button context based oncontact information received from a microphone in accordance with someembodiments.

FIG. 7 depicts a button at the device of FIG. 1 being activated within athreshold time period after receiving an electronic communication inaccordance with some embodiments.

FIG. 8 depicts the device generating an electronic communication using anetwork address received in the electronic communication within athreshold time period after receiving the electronic communication inaccordance with some embodiments.

FIG. 9 depicts the electronic communication generated within a thresholdtime period after receiving the electronic communication in accordancewith some embodiments.

FIG. 10 depicts an example of the device performing a respectivefunction independent of a source contact in accordance with someembodiments.

FIG. 11 depicts an electronic communication generated after a thresholdtime period after receiving the electronic communication, using contactinformation received at a microphone, after a long press at a button, inaccordance with some embodiments.

FIG. 12 depicts a positioning function performed within a threshold timeperiod after receiving the electronic communication and after thethreshold time period in accordance with some embodiments.

FIG. 13 depicts a voice activation button at the device of FIG. 1 beingactivated and contact information being received via a microphone inaccordance with some embodiments.

FIG. 14 depicts the device retrieving contact name data from a memory,using the contact information received via the microphone in accordancewith some embodiments.

FIG. 15 depicts a button at the device of FIG. 1 being activated withina threshold time period after the voice activation button is activatedin accordance with some embodiments.

FIG. 16 depicts the device generating an electronic communication usinga network address based on contact information received via themicrophone in accordance with some embodiments.

FIG. 17 depicts an electronic communication generated after activationof the voice activation button, using contact information received at amicrophone, in accordance with some embodiments.

FIG. 18 depicts a table defining different modes performed for thebuttons when activated according to given patterns in accordance withsome embodiments.

Skilled artisans will appreciate that elements in the figures areillustrated for simplicity and clarity and have not necessarily beendrawn to scale. For example, the dimensions of some of the elements inthe figures may be exaggerated relative to other elements to help toimprove understanding of embodiments of the present invention.

The apparatus and method components have been represented whereappropriate by conventional symbols in the drawings, showing only thosespecific details that are pertinent to understanding the embodiments ofthe present invention so as not to obscure the disclosure with detailsthat will be readily apparent to those of ordinary skill in the arthaving the benefit of the description herein.

DETAILED DESCRIPTION OF THE INVENTION

Operation of radio and/or mobile devices by public safety personnel,such as police officers and the like, may be challenging in criticalsituations. For example, such public safety personnel may simultaneouslybe attempting to manage crowds, erratic individuals and/or dangerousenvironments, as well as operating a mobile device. Many mobile devicesare tending towards inclusion of touchscreens to operate the mobiledevices, which generally require visual attention, as well as cognitiveand physical resources of public safety personnel interacting with atouchscreen. Distraction by the public safety personnel may hence leadto incorrect operation of the mobile device, which can waste computingand/or radio resources at the mobile device, as well as potentiallycause issues in critical situations.

An aspect of the specification provides a device comprising: acommunication interface; one or more buttons, each mapped to activationof respective functions; and a controller configured to: receive, viathe communication interface, an electronic communication from a sourcecontact; detect that a button, of the one or more buttons, has beenactivated; identify a respective function mapped to the button; when thebutton is activated within a threshold time period after receiving theelectronic communication, perform the respective function using thesource contact from which the electronic communication was received; andwhen the button is activated after the threshold time period, performthe respective function independent of the source contact.

Another aspect of the specification provides a method comprising:receiving, via a communication interface, an electronic communicationfrom a source contact; detecting, via a controller, that a button, ofone or more buttons, has been activated, each of the one or more buttonsmapped to activation of respective functions; identifying, via thecontroller, a respective function mapped to the button; when the buttonis activated within a threshold time period after receiving theelectronic communication, performing, via the controller, the respectivefunction using the source contact from which the electroniccommunication was received; and when the button is activated after thethreshold time period, performing, via the controller, the respectivefunction independent of the source contact.

Attention is directed to FIG. 1, which depicts a perspective view of adevice 101, FIG. 2, which depicts details of buttons of the device 101,and FIG. 3 which depicts a schematic block diagram of the device 101. InFIG. 1, the device 101 is further depicted as being in communicationwith a second device 102, and specifically as receiving an exampleelectronic communication 103 from the device 102 via a communicationlink 105. As depicted, the example electronic communication 103 includesa network address 107 (e.g. of the device 102, for example, an InternetProtocol (IP) address, an email address, a telephone number, a radiotalkgroup identifier and the like), an optional location 109 of thedevice 102, and an optional contact name 111 associated with the device102. The contact name 111 may include a name of a person associated withthe device 102 (e.g. a natural name, a given name, an alias, and thelike). As depicted, the network address 107 comprises an email address,“contact1@123.com”, and the contact name 111 is depicted as text“Contact 1”. The electronic communication 103 may be referred to asbeing received from a source contact, the source contact defined by oneor more of: a network address of the device 102; an IP address of thedevice 102; a telephone number of the device 102; a talkgroup identifierassociated with the device 102; an email address of the device 102; aname of a person associated with the device 102; and/or any datareceived in the electronic communication 103 identifying the device 102and/or a user and/or person associated with the device 102, and thelike. While the electronic communication 103 is depicted with aparticular example format, the electronic communication 103 may compriseone or more of a telephone call, a missed telephone call, a push-to-talkcall (e.g. in talkgroup), a missed push-to-talk call a voicemail, aplayable message (e.g. that may include playable video and/or playableaudio), an email, a text message, a short message service (SMS) message,a multimedia messaging service (MMS) message, a push-to-talk (PTT)message, and the like, with a format corresponding to a type of theelectronic communication 103.

As depicted, the device 101 is further associated with, and/or operatedby, a responder 115. For example, as depicted, the responder 115 is apolice officer. However, the device 101 may be associated with, and/oroperated by, other types of responders and/or other types of publicsafety personnel including, but not limited to, fire responders,emergency medical responders, and the like. Indeed, the device 101 mayalternatively be associated with, and/or operated by, non-respondersand/or non-public safety personnel, such as members of the public and/orpersons associated with business entities.

With reference to FIG. 1, FIG. 2 and FIG. 3, the device 101 includes: acontroller 120, a memory 122 (storing an application 123), acommunication interface 124 (interchangeably referred to the interface124), a display device 126, at least one input device 128, a microphone129, a speaker 130, and a location determining device 131. As depicted,the at least one input device 128, includes one or more buttons 132; forexample, as depicted in FIG. 1 and FIG. 2, the at least one input device128 includes four buttons 132-1, 132-2, 132-3, 132-4, each mapped toactivation of respective functions. As depicted, the at least one inputdevice 128 includes an optional voice activation button 133 configuredto activate the microphone 129 to receive contact information, asdescribed in more detail below. With reference to FIG. 1, the inputdevice 128 may include one or more further buttons 134 located along oneor more edges of the device 101, and the like, for example for turningthe device 101 on and off, controlling volume, and the like.

Furthermore, while the term “buttons” is used to describe the buttons132, button 133, the term “button” and/or “buttons” as described hereinmay include any physical and/or hardware controls and/or input deviceswhich may be tactilely identified by a user in an eyes-free/heads-upmanner, and used to activate respective functions. For example, suchbuttons may include, but are not limited to, switches, toggles,depressible knobs, touchscreens with haptic feedback (e.g. that enable auser to “feel” texture of specific regions of a touchscreen), and thelike.

Furthermore, while the buttons 132,133, are depicted in FIG. 1 as beinglocated at a front of the device 101, adjacent the display device 126,the buttons 132,133, may be located anywhere on a housing of the device101, for example on a rear of the device 101, on a side of the device101 and/or an edge of the device 101, and the like, including, but notlimited to, adjacent the buttons 134.

As best seen in FIG. 2, the buttons 132 may be arranged in a circulararrangement around the voice activation button 133. However, the buttons132, 133 may be arranged in any manner, including, but not limited to,in a row, and the like. However, the buttons 132, 133 may be configuredand/or arranged to provide a tactile indication of their location and/ortheir respective functionality to at least distinguish the button 133from the buttons 132. For example, as depicted, a user of the device101, such as the responder 115, attempting to locate the buttons 132,133 may distinguish the button 133 from the buttons 132 in aneyes-free/heads-up manner, as the button 133 is located in the middle ofthe circular arrangement of buttons 132. Alternatively, the buttons 132,133 may be configured with different tactile textures, and the likewhich may be used by the responder 115 to identify the buttons 132, 133using touch, an eyes-free/heads-up manner.

Furthermore, each of the buttons 132 is mapped to activation ofrespective functions. Such respective functions may be configurableusing a menu system, and the like, and/or one or more of the buttons 132may be dedicated to a given respective function. Regardless, therespective functions may include, but are not limited to, one or moreof: a messaging function, an e-mail function, a push-to-talk function, aprivate call function, an incident management function, a videostreaming function, and a positioning function. In particular, each ofthe functions may be performed using contact information, including, butnot limited to, contact information of the source contact from which theelectronic communication 103 was received.

For example, the button 132-1 may be used to activate a push-to-talkfunction to a source contact, the button 132-2 may be used to activate amessaging function (e.g. an email function and/or a text function) usinga source contact, the button 132-3 may be used activate a private callfunction to a source contact, and the button 132-4 may be used toactivate a positioning function using a source contact.

Furthermore, the locations of each of the buttons 132 relative to thebutton 133 (e.g. and a housing of the device 101), may indicate theirrespective functionality to a user (e.g. the responder 115) in aneyes-free/heads-up manner, at least once a user is trained with regardsto their respective functions. For example, the button 132-1 is locatedin an “upper” position, the button 132-2 is located in a “right”position, the button 132-3 is located in a “lower” position, and thebutton 132-4 is located in a “left” position, all relative to the button133, a housing of the device 101 and/or each other.

Furthermore, as also best seen in FIG. 2, each button 132 may beprovided with an icon (e.g. a printed icon) indicative of a respectivefunctionality; in some embodiments, such icons may be provided withtactile features to distinguish each button 132 from each other.

As depicted, the device 101 generally comprises a mobile device whichincludes, but is not limited to, any suitable combination of electronicdevices, communication devices, computing devices, portable electronicdevices, mobile computing devices, portable computing devices, tabletcomputing devices, laptop computers, telephones, PDAs (personal digitalassistants), cellphones, smartphones, e-readers, mobile camera devicesand the like. Other suitable devices are within the scope of presentembodiments including non-mobile devices, any suitable combination ofwork stations, servers, personal computers, dispatch terminals, operatorterminals in a dispatch center, and the like.

In some embodiments, the device 101 is specifically adapted for use as apublic safety device and may be deployed and/or managed by a publicsafety and/or first responder agency including, but not limited to,police organizations, health organizations, intelligence organizations,military organizations, government organizations, and the like.

Indeed, in some embodiments, the device 101 is specifically adapted foremergency service radio functionality, and the like, used by emergencyresponders, including, but not limited to, police service responders,fire service responders, emergency medical service responders, and thelike.

In some of these embodiments, the device 101 further includes othertypes of hardware for emergency service radio functionality, including,but not limited to, push-to-talk (“PTT”) functionality. In some of theseembodiments, embodiments, the device 101 may comprise a radio devicethat includes remote speaker microphone (RSM), for example as may beused by public safety agencies; and one or more of the buttons 132, 133may be incorporated into the remote speaker microphone.

However, the device 101 may further be adapted for use as a consumerdevice and/or business device, and the like, and/or may includeadditional or alternative components related to, for example, telephony,messaging, entertainment, and/or any other components that may be usedwith computing devices and/or communication devices.

The device 102, while not described in detail, may be similar to thedevice 101, and may also be associated with a responder and/or managedby a public safety agency; however, the device 102 may alternatively bea consumer device and/or a business device.

With reference to FIG. 3, the controller 120 includes one or more logiccircuits, one or more processors, one or more microprocessors, one ormore ASIC (application-specific integrated circuits) and one or moreFPGA (field-programmable gate arrays). In some embodiments, thecontroller 120 and/or the device 101 is not a generic controller and/ora generic device, but a device specifically configured to implementfunctionality for locking in button context based on: a source contactof an electronic communication and/or contact information received froma microphone (e.g. when the optional button 133 is present). Forexample, in some embodiments, the device 101 and/or the controller 120specifically comprises a computer executable engine configured toimplement specific functionality for locking in button context based on:a source contact of an electronic communication and/or contactinformation received from a microphone (e.g. when the optional button133 is present).

The memory 122 is a machine readable medium that stores machine readableinstructions to implement one or more programs or applications. Examplemachine readable media include a non-volatile storage unit (e.g.Erasable Electronic Programmable Read Only Memory (“EEPROM”), FlashMemory) and/or a volatile storage unit (e.g. random-access memory(“RAM”)). In the embodiment of FIG. 3, programming instructions (e.g.,machine readable instructions) that implement the functional teachingsof the device 101 as described herein are maintained, persistently, atthe memory 122 and used by the controller 120 which makes appropriateutilization of volatile storage during the execution of such programminginstructions.

In particular, the memory 122 of FIG. 3 stores instructionscorresponding to the application 123 that, when executed by thecontroller 120, enables the controller 120 to implement functionalityfor locking in button context based on a source contact of an electroniccommunication. In illustrated examples, when the controller 120 executesthe application 123, the controller 120 is enabled to: receive, via thecommunication interface 124, an electronic communication from a sourcecontact; detect that a button 132, of the one or more buttons 132, hasbeen activated; identify a respective function mapped to the button 132;when the button 132 is activated within a threshold time period afterreceiving the electronic communication, perform the respective functionusing the source contact from which the electronic communication wasreceived; and when the button 132 is activated after the threshold timeperiod, perform the respective function independent of the sourcecontact.

Execution of the application 123 by the controller 120 may furtherenable the controller to implement functionality for locking in buttoncontext based on contact information received from a microphoneassuming, for example, that the optional voice activation button 133 ispresent at the device 101. In illustrated examples, when the controller120 executes the application 123, the controller 120 is further enabledto: detect that the voice activation button 133 is activated; receive,via the microphone 129, contact information; detect that a button 132,of the one or more buttons 132, has been activated; identify arespective function mapped to the button 132; when the button 132 isactivated within a threshold time period after activation of the voiceactivation button 133, perform the respective function using the contactinformation received via the microphone 129; and when the button 132 isactivated after the threshold time period, perform the respectivefunction independent of the contact information.

As depicted in FIG. 3, the memory 122 may further store a mapping 140between the one or more buttons 132 and their respective functions. Themapping 140 may comprise a look-up table, a database, and the like. Forexample, as depicted, the mapping 140 includes an identifier 141 of eachof the one or more buttons 132 (e.g. “1” for the button 132-1, “2” forthe button 132-2, “3” for the button 132-3, and “4” for the button132-4). Each identifier 141 is mapped to a respective function, forexample instructions 142, and the like, for activating the respectivefunction, which may be used to call and/or implement the respectivefunction at the controller 120. The association is represented in FIG. 3by a respective dashed line between an identifier 141 and associatedinstruction 142. Each of the instructions 142 is identified in theexample mapping 140 using respective text “Function1”, “Function 2”,“Function 3”, “Function 4”.

For example, instructions 142 for “Function 1”, mapped to the button132-1, may comprise instructions for activating a push-to-talk functionto a source contact, which may include, but is not limited to,activating a push-to-talk function to a talk group associated with thesource contact (e.g. a push-to-talk group call to a talk group thatincludes the source contact and/or a talk group identified in relationto the source contact). Similarly, instructions 142 for “Function 2”,mapped to the button 132-2, may comprise instructions for activating amessaging function using a source contact. Similarly, instructions 142for “Function 3”, mapped to the button 132-3, may comprise instructionsfor activating a private call function (e.g. a telephone function) to asource contact. Similarly, instructions 142 for “Function 4”, mapped tothe button 132-4, may comprise instructions for activating a positioningfunction using a source contact.

Furthermore, the respective function for each button 132 may beconfigurable using, for example, a menu system, and the like, at thedevice 101. In these embodiments, the instructions 142 may be changedand/or updated when a button 132 is changed to activate a differentrespective function.

In other embodiments, one or more of the buttons 132 may be dedicated toa given respective function; in these embodiments, the mapping 140 maybe optional, as each button 132 dedicated to a given respective functionmay be hardwired, and the like, for performing the given respectivefunction, and/or instructions for performing the given respectivefunction may be embedded in operating instructions for the device 101and not configurable.

Furthermore, the instructions 142 in the mapping 140 may alternativelybe replaced with an identifier of a respective function, which may beused to execute the respective function, for example using applications(not depicted) for implementing the respective functions which may bestored at the memory 122.

As depicted, the memory 122 may further store contact data 150 which mayinclude, but is not limited to, an electronic address book, and thelike. As such, the contact data 150 stores contact name data 151-1,151-2, and the like. The contact name data 151-1, 151-2 will beinterchangeably referred to hereafter, collectively, and generically, ascontact name data 151. While two sets of contact name data 151 aredepicted in the example embodiment (e.g. “Contact Name 1”, and “ContactName 2”), the contact data 150 may store any number of sets of contactname data 151.

It will be assumed hereafter that the contact name data 151-1 storesinformation associated with the device 102, and/or the contact name 111,and may include information similar to the information received in theelectronic communication 103.

It will be further assumed hereafter that the contact name data 151-2stores information associated with a device and/or contact namedifferent from the device 102 and/or the contact name 111.

Each set of contact name data 151 may include contact information for acontact and/or a source contact and/or contact name that includes, butis not limited to, one or more of: a network address of a deviceassociated with a respective contact, an IP address of the deviceassociated with the respective contact, a telephone number of the deviceassociated with the respective contact, a radio talkgroup identifierassociated with the device that is associated with the respectivecontact, an email address of the device associated with the respectivecontact, and a name (e.g. a natural name, a given name, an alias, andthe like) of the respective contact.

Indeed, using information received in the electronic communication 103,further information associated with the source contact (e.g. informationnot received with the electronic communication 103) may be retrievedfrom the contact name data 151-1. For example, when the electroniccommunication 103 does not include a telephone number and/or a talkgroupidentifier of the source contact (e.g. of the device 102), but theelectronic communication 103 includes a name of the source contact (e.g.contact name 111) that is also stored in the contact name data 151-1,the telephone number and/or the talkgroup identifier of the sourcecontact may be retrieved from the contact name data 151-1 using the nameof the source contact received in the electronic communication 103.

The interface 124 is generally configured to communicate via the link105 which may include one or more of wired and/or wireless links asdesired, including, but not limited to, cables, WiFi links and the like.In other words, the interface 124 is enabled to communicate using anysuitable combination of wired networks and/or wireless networks. Theinterface 124 may be implemented by, for example, one or more radiosand/or connectors and/or network adaptors, configured to communicatewirelessly, with network architecture that is used to implement the link105. In some embodiments, the interface 124 includes, but is not limitedto, one or more broadband and/or narrowband transceivers, such as a LongTerm Evolution (LTE) transceiver, a Third Generation (3G) (3GGP or3GGP2) transceiver, an Association of Public Safety CommunicationOfficials (APCO) Project 25 (P25) transceiver, a Digital Mobile Radio(DMR) transceiver, a Terrestrial Trunked Radio (TETRA) transceiver, aWorldwide Interoperability for Microwave Access (WiMAX) transceiveroperating in accordance with an IEEE 802.16 standard, and/or othersimilar type of wireless transceiver configurable to communicate via awireless network for infrastructure communications. In yet furtherembodiments, the interface 124 includes one or more local area networkor personal area network transceivers operating in accordance with anIEEE 802.11 standard (e.g., 802.11a, 802.11b, 802.11g), or a Bluetooth™transceiver. In some embodiments, the interface 124 is furtherconfigured to communicate “radio-to-radio” on some communicationchannels, while other communication channels are configured to usewireless network infrastructure. Example communication channels overwhich the interface 124 may be generally configured to wirelesslycommunicate include, but are not limited to, one or more of wirelesschannels, cell-phone channels, cellular network channels, packet-basedchannels, analog network channels, Voice-Over-Internet (“VoIP”),push-to-talk channels and the like, and/or a combination. Indeed, theterm “channel” and/or “communication channel”, as used herein, includes,but is not limited to, a physical radio-frequency (RF) communicationchannel, a logical radio-frequency communication channel, a non-trunkingtalkgroup and/or a trunking talkgroup (interchangeably referred to hereas a “talkgroup”), a non-trunking announcement group, a trunkingannouncement group, a VOIP communication path, a push-to-talk channel,and the like.

The display device 126 comprises any suitable one of, or combination of,flat panel displays (e.g. LCD (liquid crystal display), plasma displays,OLED (organic light emitting diode) displays), touchscreen displays andthe like.

While not depicted, the device 101 may include other input devices 128,in addition to buttons 132, 133, 134, including, but not limited to,pointing devices, touchpads, buttons, keyboards, and the like.

The microphone 129 is generally configured to receive voice commands,voice interactions, and the like from the responder 115, and the like,including, but not limited to, contact information corresponding toinformation stored in the contact name data 151.

The speaker 130 is generally configured to provide audio functionalityof the device 101, including, but not limited to, telephonicfunctionality, push-to-talk functionality, and the like. Furthermore,the speaker 130 may be used when implementing text-to-speechfunctionality of the device 101, as described in more detail below.

The location determining device 131 may include one or more of a GlobalPositioning System (GPS) device, a triangulation device, and the like.

Furthermore, one or more components of the device 101, such as thedisplay device 126, the input devices 128 (including one or of more ofthe buttons 132, 133, 134), the microphone 129 and the speaker 130, maybe external to the device 101 and accessible to the device 101 via theinterface 124. For example, one or more of the buttons 132, 133, 134,the microphone 129 and the speaker 130 may be incorporated into a remotespeaker microphone (not depicted), and the like, of the device 101.Similarly, device 101 may comprise a laptop computer and/or a personalcomputer, and the display device 126 and/or one or more of the inputdevices 128 (e.g. such as a keyboard and/or a pointing device) may beexternal to the laptop computer and/or the personal computer.

While not depicted, the device 101 may further include a battery and/ora power supply and/or a connection to a mains power supply and/or one ormore lights and/or one or more haptic devices and/or one or morenotification devices. For example, the device 101 may further comprise aclock device for tracking time, for example to determine whetheractivation of buttons 132, 133 occur within a threshold time periodand/or after a threshold time period; such a clock device may include,but is not limited to, a clock device of the controller 120 and/or aclock device of a hardware processor of the controller 120.

In any event, it should be understood that a wide variety ofconfigurations for the device 101 are within the scope of presentembodiments.

While example embodiments of the device 101 described with reference toFIG. 1, FIG. 2 and FIG. 3 include four buttons 132, in otherembodiments, devices configured for locking in button context based onone or more of a source contact of an electronic communication andcontact information received at a microphone, as described herein, mayinclude as few as one button 132.

For example, attention is directed to FIG. 4, which depicts aperspective view of a device 401, that is substantially similar to thedevice 101. While not depicted, it is assumed that the device 401includes similar components to the device 101, including, but notlimited to, a controller, a memory, a communication interface, amicrophone, etc. However, the device 401 includes one button 432 locatedalong a side and/or an edge of the device 401, which is mapped to arespective function, and is otherwise similar to the buttons 132. Asthere is only one button 432 at the device 401 (as compared to fourbuttons 132 at the device 101), the respective function of the button432 may be configurable, for example using a menu system, and the like.However, the button 432 may alternatively be dedicated to a givenrespective function.

Furthermore, the device 401 includes a voice activation button 433,adjacent the button 432, and located along the same side and/or sameedge of the device 401 as the button 432. The voice activation button433 is otherwise similar to the button 133. As depicted, the button 433includes a tactile texture (e.g. in the form of a raised portion)different from a tactile texture of the button 432; hence, a user of thedevice 401, such as the responder 115, and the like, may distinguish thebuttons 432, 433 from each other in an eyes-free/heads-up manner.However, the relative locations of the buttons 432, 433 on a housing ofthe device 401 may also enable a user of the device 401 to distinguishthe buttons 432, 433 from each other in an eyes-free/heads-up manner.

Attention is now directed to FIG. 5 which depicts a flowchartrepresentative of a method 500 for locking in button context based on asource contact of an electronic communication. In some embodiments, theoperations of the method 500 of FIG. 5 correspond to machine readableinstructions that are executed by, for example, the device 101, andspecifically by the controller 120 of the device 101. In the illustratedexample, the instructions represented by the blocks of FIG. 5 are storedat the memory 122, for example, as the application 123. The method 500of FIG. 5 is one way in which the device 101 and/or the controller 120is configured. Furthermore, the following discussion of the method 500of FIG. 5 will lead to a further understanding of the device 101, andits various components.

However, it is to be understood that the device 101 and/or thecontroller 120 and/or the method 500 may be varied, and need not workexactly as discussed herein in conjunction with each other, and thatsuch variations are within the scope of present embodiments.

Furthermore, the method 500 of FIG. 5 need not be performed in the exactsequence as shown and likewise various blocks may be performed inparallel rather than in sequence. Accordingly, the elements of method500 are referred to herein as “blocks” rather than “steps”.

Furthermore, while the method 500 is described with respect to executionat the device 101, the method 500 may be executed at a controller of thedevice 401, and/or variations of the devices 101, 401.

At a block 502, the controller 120 receives, via the communicationinterface 124, an electronic communication from a source contact, forexample the electronic communication 103 received from the device 102.The controller 120 executing the block 502 may include providing anotification of the electronic message 103 at the device 101 in aneye-free manner, for example by controlling the speaker 130 to emitsound corresponding to a notification of the electronic message 103.

At a block 504, the controller 120 detects that a button 132, of the oneor more buttons 132, has been activated.

At a block 506, the controller 120 identifies a respective functionmapped to the button 132 which has been activated.

At a block 508, the controller 120 determines whether the button 132 hasbeen activated within a threshold time period after receiving theelectronic communication. For example, the threshold time period may bestored in the application 123 and/or the threshold time period may beconfigurable at the device 101 (e.g. using a menu system).

In some example embodiments, the threshold time period may be about 10seconds; however, the threshold time period may be less than 10 secondsor greater than 10 seconds.

In some embodiments, when a notification of the electronic communication103 is provided at the block 502, the threshold time period may beginafter the notification is provided. For example, the notification maycomprise an audible notification in which portions of the electronicmessage 103 are converted to sound in using text-to-speech functionalityand played by the speaker 130; the threshold time period may begin afterthe notification is provided and/or when the notification ends.

However, in some embodiments, the electronic communication 103 maycomprise a playable message, for example, a voicemail, a multimediamessage, and the like, and the threshold time period may be selected toend after a given amount of time after playing the playable message. Forexample, when the threshold time period is 10 seconds, but the playablemessage is longer than 10 seconds, the threshold time period may endand/or may be extended to end within a given amount of time after theplayable message ends playing, for example another 10 seconds, and thelike, and/or the threshold time period may begin when the playablemessage ends playing. Similarly, when the electronic communication 103is a telephone call, the threshold time period may be extended to endwithin a given amount of time after the end of the telephone call and/orthe threshold time period may begin when the telephone call ends.

When the button 132 has been activated within the threshold time period(e.g. a “YES” decision at the block 508), at a block 510, the controller120 performs the respective function using the source contact from whichthe electronic communication was received.

For example, a messaging function, an e-mail function, a push-to-talkfunction, a private call function, an incident management function, avideo streaming function, and/or a positioning function may be performedusing the source contact. For example, one or more of a message, anemail, a push-to-talk call, a private call (e.g. a telephone call) andvideo streaming may be initiated to the source contact. Alternatively, apositioning function may be initiated to provide a location of thesource contact, for example on a map rendered at the display device 126and/or provide a route and/or directions to the source contact.

Alternatively, an incident management function may be initiated to, forexample, transmit incident data collected by the device 101 (e.g. in anincident report) to the source contact and/or share incident datacollected by the device 101 with the source contact and/or add thesource contact to an incident report. However, other types of incidentmanagement functions are within the scope of present embodiments. Forexample, an incident management function may be initiated to retrieveinformation specific to the source contact including, but not limitedto, one or more of: a location of the source contact; a role and/or rankand/or title of the source contact; equipment accessible to the sourcecontact, for example equipment for managing an incident; incidentinformation of an incident that a source contact is currently involvedin, and the like. Such incident information retrieved by the incidentmanagement function may include, but is not limited to, one or more of:an incident name; incident severity; an incident location; an incidentdescription; other personnel (e.g. police officers, and/or public safetyofficers) assigned to the incident; and the like. Hence, in someembodiments, when implementing an incident management function, thedevice 101 communicates with an incident management server to retrievesuch incident information.

The controller 120 may then repeat the blocks 504, 506, 508, 510 forexample when another button 132 and/or the same button 132 is activatedwithin the threshold time period. For example, the controller 120 may befurther configured to perform the respective functions of any the one ormore buttons 132 using the source contact, when activated within thethreshold time period following receipt of the electronic communication103. In this manner, button context of the buttons 132 is “locked in”,when the electronic communication 103 is received, the button contextdefined by and/or based on a source contact of the electroniccommunication 103. Hence, each time a button 132 is activated within thethreshold time period, a respective function is performed using thesource contact of the electronic communication 103. Hence, the responder115 may activate functionality of the device 101, for example to respondto the electronic communication 103, in an eyes-free/heads-up manner,such that the responder 115 does not have to look at the device 101and/or the display device 126 to respond to the electronic communication103.

In yet further embodiments, the threshold time period is reset each timea button 132 is activated and/or each time a respective function that isperformed upon activation of a button 132 is completed. For example,when a button 132 is activated at the block 504, threshold time periodmay be reset, and/or when the respective function is completed at theblock 510, the threshold time may be reset. Hence, when the blocks 504,506, 508, 510 are repeated, the threshold time may be reset for eachrepetition. For example, when an electronic communication is received atthe block 502, such as an email, the button 132-3 may be activated atthe block 504 and the respective function of a phone call be performedat the block 508 to initiate a call to the source contact of the email,presuming the button 132-3 is activated within the threshold time periodafter receiving the email. Then, when the phone call is ended, thethreshold time may be reset such that when a button 132 (which mayinclude the previously activated button 132-3) is activated within thereset time threshold time period, a respective function is performedusing the source contact. Hence, button context of the buttons 132 maybe “locked in” and/or extended after each instance of activating abutton 132 and/or completing performing a respective function of anactivated button 132 within the threshold time period, after receivingthe initial electronic communication.

Returning to the block 508, when the button 132 has been activated afterthe threshold time period (e.g. a “NO” decision at the block 508), at ablock 512, the controller 120 performs the respective functionindependent of the source contact.

For example, in some embodiments, the respective function may beinitiated without any contact information; hence, for example, amessaging function, an e-mail function, a push-to-talk function, atelephone function, a private call function, an incident managementfunction, a video streaming function, and/or a positioning function maybe initiated without any contact information. However, contactinformation may be received via receipt of input at an input device(e.g. a keyboard rendered at a touchscreen) after activation of a button132.

Attention is now directed to FIG. 6 which depicts a flowchartrepresentative of a method 600 for locking in button context based oncontact information received from a microphone. In some embodiments, theoperations of the method 600 of FIG. 6 correspond to machine readableinstructions that are executed by, for example, the device 101, andspecifically by the controller 120 of the device 101. In the illustratedexample, the instructions represented by the blocks of FIG. 6 are storedat the memory 122, for example, as the application 123. The method 600of FIG. 6 is one way in which the device 101 and/or the controller 120is configured. Furthermore, the following discussion of the method 600of FIG. 6 will lead to a further understanding of the device 101, andits various components.

However, it is to be understood that the device 101 and/or thecontroller 120 and/or the method 600 may be varied, and need not workexactly as discussed herein in conjunction with each other, and thatsuch variations are within the scope of present embodiments.

Furthermore, the method 600 of FIG. 6 need not be performed in the exactsequence as shown and likewise various blocks may be performed inparallel rather than in sequence. Accordingly, the elements of method600 are referred to herein as “blocks” rather than “steps”.

Furthermore, while the method 600 is described with respect to executionat the device 101, the method 600 may be executed at a controller of thedevice 401, and/or variations of the devices 101, 401.

At a block 602, the controller 120 detects that the voice activationbutton 133 has been activated.

At a block 604, the controller 120 receives, via the microphone 129,contact information. The contact information may be recognized viaspeech-to-text functionality (e.g. at the application 123 and/or adedicated speech-to-text application). In some embodiments, a set ofcontact name data 151 may be selected from the contact data 150 usingthe contact information received via the microphone 129; for example,the responder 115 may speak the name of a contact stored in the contactname data 151, and the controller 120 may select the correspondingcontact name data 151 from the contact data 150. Alternatively, thecontact information received via the microphone 129 may include anetwork address, and the like, which may be used to perform a respectivefunction of a button 132.

At a block 606, the controller 120 detects that a button 132, of the oneor more buttons 132, has been activated, similar to the block 504 of themethod 500.

At a block 608, the controller 120 identifies a respective functionmapped to the button 132 which has been activated, similar to the block506 of the method 500.

At a block 610, the controller 120 determines whether the button 132 hasbeen activated within a threshold time period after activation of thevoice activation button 133. For example, the threshold time period maybe stored in the application 123 and/or the threshold time period may beconfigurable at the device 101 (e.g. using a menu system). Furthermore,the threshold time period may be the same or different from thethreshold time period of the block 508 of the method 500. To distinguishthe threshold time period of the method 600 from the threshold timeperiod of the method 500, the threshold time period of the method 600 isinterchangeably referred to hereafter as a further threshold timeperiod.

Hence, in some example embodiments, the further threshold time period ofthe block 610 may be about 10 seconds; however, the further thresholdtime period of the block 610may be less than 10 seconds or greater than10 seconds.

However, the further threshold time period may be extended to end withina given amount of time after receipt of the contact information via themicrophone 129, for example another 10 seconds, and the like.Alternatively, the further threshold time period may start from receiptof the contact information via the microphone 129 at the block 604.

When the button 132 has been activated within the further threshold timeperiod (e.g. a “YES” decision at the block 610), at a block 612, thecontroller 120 performs the respective function using the contactinformation received via the microphone 129. The block 612 is generallysimilar to the block 510 of the method 500, however performed with thecontact information received via the microphone 129 rather than a sourcecontact of a message.

The controller 120 may then repeat the blocks 606, 608, 610, 612 forexample when another button 132 and/or the same button 132 is activatedwithin the further threshold time period. For example, the controller120 may be further configured to perform the respective functions of anythe one or more buttons 132 using the contact information received viathe microphone 129, when received within the further threshold timeperiod following activation of the voice activation button 133. In thismanner, button context of the buttons 132 is “locked in”, when the voiceactivation button 133 is activated, the button context defined by and/orbased on contact information received via the microphone 129, such thateach time a button 132 is activated within the further threshold timeperiod, a respective function is performed using the contact informationreceived via the microphone 129. Hence, the responder 115 may activatefunctionality of the device 101, for example to communicate with acontact identified using the contact information received via themicrophone 129, in an eyes-free/heads-up manner, such that the responder115 does not have to look at the device 101 and/or the display device126 to initiate such contact. As with the method 500, the furtherthreshold time period may be reset each time a button 132 is activatedand/or each time a respective function that is performed upon activationof a button 132 is completed. However, such locking in occurs when thecontact information is received via the microphone 129; when no contactinformation received via the microphone 129 after activation of thebutton 133, no locking in occurs.

Returning to the block 610, when the button 132 has been activated afterthe further threshold time period (e.g. a “NO” decision at the block610), at a block 614, the controller 120 performs the respectivefunction independent of the contact information received via themicrophone 129, similar to the block 512 of the method 500.

The method 500 and the method 600 will now be described with referenceto FIG. 7 to FIG. 18.

Attention is next directed to FIG. 7, FIG. 8, FIG. 9, FIG. 10, FIG. 11and FIG. 12 which depict an example embodiment of the method 500. Eachof FIG. 7, FIG. 9, FIG. 10 and FIG. 11. is substantially similar to FIG.1, and FIG. 8 is substantially similar to FIG. 3, with like elementshaving like numbers. Furthermore, it is assumed in FIG. 7, FIG. 8, FIG.9, FIG. 10, FIG. 11 and FIG. 12 that the controller 120 is executing theapplication 123 and is performing at least the method 500.

Indeed, in FIG. 7 and FIG. 8, the device 101 and the controller 120 aredepicted as receiving the electronic communication 103 (e.g. at theblock 502 of the method 500), for example via the interface 124. It isassumed that receipt of the electronic communication 103 triggers thecontroller 120 to determine whether a button 132 is activated within thethreshold time period of the method 500.

With reference to FIG. 7, the controller 120 may, in some exampleembodiments, control the speaker 130 to emit sound 701 to provide anotification of the electronic communication 103 (e.g. at the block 502of the method 500) in an eyes-free manner, and/or announce receipt ofthe electronic communication 103; for example, as depicted, the sound701 corresponds to text “Communication Received From Contact1 Atcontact1@123.com”. The sound 701 may be generated using the networkaddress 107 (e.g. “contact1@123.com”) received in the electroniccommunication 103 and/or the contact name 111 (e.g. “Contact 1”)received in the electronic communication 103, and/or any other datareceived in the electronic communication 103. For example, when theelectronic communication 103 includes text, the controller 120 maycontrol the speaker 130 to emit sound corresponding to the text. Assuch, the controller 120 may be configured for text-to-speechfunctionality (e.g. via the application 123 and/or a dedicatedtext-to-speech application) to convert text in the electroniccommunication 103 to sound, for example that mimics a human voice, andthe like, the sound emitted by the speaker 130.

Indeed, the controller 120 may control the speaker 130 to emit any typeof notification of the electronic communication 103, which may depend onthe format of the electronic communication 103. Furthermore, when theelectronic communication 103 comprises a playable message, the responder115 may control playing of the playable message via voice interactionusing the speaker 130. In this manner, the responder 115 may be alertedto receipt of the electronic communication 103 and/or play a playablemessage, in an eyes-free/heads-up manner. However, the controller 120may alternatively display and/or provide and/or render the electroniccommunication 103 at the display device 126.

However, the threshold time period may alternatively begin after anotification (e.g. the sound 701) is provided. Furthermore, when theelectronic communication 103 comprises a playable message, the thresholdtime period may alternatively begin after the playable message isplayed.

Presuming that the electronic communication 103 has been received, andthat the controller 120 is tracking the threshold time period of themethod 500, a finger 715 of the responder 115 is depicted as activatingthe button 132-2 to activate, for example, a messaging function (e.g. anemail function and/or a texting function) using the source contact fromwhich the electronic communication 103 was received. With reference toFIG. 8, the controller 120 detects (e.g. at the block 504 of the method500) that the button 132-2 has been activated, for example by receivingan indication 802 from the button 132-2. As depicted, the indication 802comprises data that enables the controller 120 to detect that the button132-2 was activated, as depicted text “2” similar to the text “2” of theidentifiers 141. However, the indication 802 may comprise any type ofindication and/or data and/or signal.

The controller 120 identifies (e.g. at the block 506 of the method 500)the respective function mapped to the button 132-2 that has beenactivated, for example “Function 2”, which comprises a messagingfunction in example embodiments of FIG. 7 and FIG. 8. For example, therespective function mapped to the button 132-2 may be identified usingthe mapping 140, and in FIG. 8, the controller 120 has retrieved theinstructions “Function 2” corresponding to the button 132-2 using theindication 802, for example by comparing the indication 802 with theidentifiers 141 to determine a match, and the like. However, theindication 802 may alternatively be used to look-up the respectivefunction in the mapping 140 using look-up table and/or databasetechniques, and/or used to identify the respective function when thebutton 132-2 is dedicated to the respective function.

As it is assumed that the button 132-2 was activated within thethreshold time period (e.g. a “YES” decision at the block 508), thecontroller 120 performs (e.g. at the block 510) the respective function“Function 2”, and specifically the messaging function, using the sourcecontact from which the electronic communication 103 was received. Forexample, as also depicted in FIG. 8, the controller 120 extracts thenetwork address 107 and optionally the contact name 111 from theelectronic communication 103, to generate an electronic communication803 (e.g. as depicted, an email message) to the network address 107 andoptionally including the contact name 111 in the electroniccommunication 103. The controller 120 may generate the electroniccommunication 803 and optionally display and/or provide and/or renderthe message at the display device 126

For example, attention is directed to FIG. 9 which depicts theelectronic communication 803 at the display device 126, the electroniccommunication 803 addressed to the network address 107, and theelectronic communication 803 including a greeting that includes thecontact name 111 (e.g. “Hey Contact 1:”. In FIG. 9, the electroniccommunication 103 is not depicted as it is assumed the electroniccommunication 103 was previously received. The responder 115 may addtext to the electronic communication 803, for example by interactingwith a keyboard of the device 101 (including, but not limited to, akeyboard rendered at the display device 126).

However, the responder 115 may also add text to the electroniccommunication 803 via voice commands, voice interactions, and the like;indeed, the responder 115 may complete and send the message entirelythrough the use of voice commands, voice interactions, and the like,received at the microphone 129. Furthermore, the controller 120 maycontrol the speaker 130 to “play” the text of the electroniccommunication 803 upon generation of the electronic communication 803,including, for example, the network address 107 and optionally thegreeting that includes the contact name 111, such that the responder 115may interact with the device 101 entirely through voice commands and/orvoice interactions after activation of the button 132-2. For example, asdepicted in FIG. 9, the speaker 130 is emitting sound 901 correspondingto text “Communication Generated To Contact1 At contact1@123.com”.

Attention is next directed to FIG. 10 which depicts an exampleembodiment of the block 512 of the method 500. It is assumed in FIG. 10that the button 132-2 has been activated after the threshold time period(e.g. by the finger 715) and hence the respective function associatedwith the button 132-2 is performed independent of the source contactfrom which the electronic communication 103 is received. Hence, forexample, an electronic communication 1003 (e.g. as depicted, an emailmessage) is generated that has not yet been addressed to a networkaddress, nor does the electronic communication 1003 include a greetingto a contact name. The responder 115 may add a network address to theelectronic communication 1003, as well as any greetings and/or text, viavoice commands, voice interactions, and the like, and/or by interactionswith a keyboard, and the like.

In yet further embodiments, with reference to FIG. 11, the button 132-2may be activated after the threshold time period according to a givenpattern, for example a long press and the like (described in more detailbelow with respect to FIG. 18), and the controller 120 may perform therespective function associated with the button 132-2 using contactinformation received via the microphone 129.

For example, as depicted, after the threshold time period, the finger715 of the responder 115 activates the button 132-2 according to a “LongPress”, and the responder 115 may speak a name of contact (e.g. “Contact2”) which is received as sound 1104 at the microphone 129.

The contact name in the sound 1104 may be used by the controller 120 toextract a corresponding network address and/or any further contact data,from a set of contact name data 151 (e.g. the contact name data 151-2)that includes the name of the contact received in the sound 1104. Hence,as depicted in FIG. 11, an electronic communication 1103 (e.g. asdepicted an email message) has been addressed to a network address 1107and includes a greeting to a contact name 1111, which may be the same ordifferent as the contact name received in the sound 1104; it is assumedthat the network address 1107 and the contact name 1111 are extractedfrom a set of contact name data 151 (e.g. the contact name data 151-2).Details of such extraction will be described below with reference to themethod 600 in FIG. 14, FIG. 15 and FIG. 16.

Also depicted in FIG. 11, the controller 120 may control the speaker 130to “play” the text of the electronic communication 1103 upon generationof the electronic communication 1103, including, for example, thenetwork address 1107 and optionally the greeting that includes thecontact name 1111, such that the responder 115 may interact with thedevice 101 entirely through voice commands and/or voice interactionsafter activation of the button 132-2. For example, as depicted in FIG.11, the speaker 130 is emitting sound 1121 corresponding to text“Communication Generated To Contact2 At contact2@123.com”, assuming thatthe network address (e.g. an email address) of “Contact 2” iscontact2@123.com.

While the method 500 was described with reference to a messagingfunction (e.g. an email function), the function performed at the block510 depends on the button 132 which is activated and the associatedrespective function. Furthermore, any information that may be used toperform a specific respective function may be extracted from acorresponding set of contact name data 151. For example, a telephonenumber may not be received in the electronic communication 103; hence,when the button 132-3 is activated during the threshold time period, toperform a private call function (e.g. a telephone function), thetelephone number may be extracted from the contact name data 151-1. Thecontact name data 151-1 may be determined to be associated with thecontact name 111 received in the electronic communication 103, asdescribed above. The private call function may then be executed toinitiate a telephone call to device 102 using the telephone number fromthe contact name data 151-1.

Similarly, assuming that a talkgroup identifier was not received in theelectronic communication 103, and further assuming that the button 132-1is activated during the threshold time period, to perform a push-to-talkfunction, the talkgroup identifier may be extracted from the contactname data 151-1. The contact name data 151-1 may be determined to beassociated with the contact name 111 received in the electroniccommunication 103, as described above. The push-to-talk function maythen be executed to initiate a push-to-talk call to device 102 using thetalkgroup identifier from the contact name data 151-1. The talkgroupidentifier may identify a talkgroup that includes the source contact, aswell as other contacts, such that when a push-to-talk function isinitiated during the method 500 and/or the method 600, a push-to-talkcall to the group is initiated. However, in other embodiments, when apush-to-talk function is initiated during the method 500 and/or themethod 600, a push-to-talk call to the only the source contact isinitiated.

Attention is next directed to FIG. 12 which depicts the device 101receiving the electronic communication 103 (though the device 102 is notdepicted for clarity) and example embodiments of a positioning functionexecuted at the controller 120 when the button 132-4 is activated duringthe threshold time period and after the threshold time period. FIG. 12is otherwise similar to FIG. 1, with like elements having like numbers.

Presuming that the button 132-4 is activated during the threshold timeperiod, when performing a positioning function, the controller 120provides one or more of: a location 109 of the source contact and/or thedevice 102; and a route 1201 (e.g. which may include directions) to thesource contact and/or the device 102, as depicted on the left side ofFIG. 12. For example, as depicted, the controller 120 may provide, atthe display device 126, one or more of: the location 109 of the sourcecontact and/or the device 102; and a route 1201 to the source contactand/or the device 102 (e.g. a route to the location 109). In theseembodiments, activation of the positioning function, using the button132-4, may cause the controller 120 to generate a map 1203 at thedisplay device 126 that includes the location 109 received in theelectronic communication 103 and/or a route to the location 109, forexample from a current location 1209 of the device 101 determined usingthe location determining device 131. Alternatively, for example when thelocation 109 is not received in the electronic communication 103, alocation of the device 102 may be requested from the device 102 and/orrequested from a server (e.g. a location service server), and the like,(not depicted) which tracks locations of devices, including the device102; such a server may be operated by a public safety agency managingthe device 102 (and/or the device 101); in some of these embodiments, itis assumed that a location service function has been turned “on” at thedevice 102 and that the device 102 is providing the location 109 to alocation service server.

Alternatively, the controller 120 may provide, using the speaker 130,one or more of: the location 109 of the source contact; and the route1201 to the source contact, for example by controlling the speaker 130to emit sound corresponding to the location 109 and/or directions forfollowing the route 1201 to the location 109.

However, presuming that the button 132-4 is activated after thethreshold time period, to perform a positioning function, the controller120 may provide a current location 1209 of the device 101, as depictedon the right side of FIG. 12 (e.g. independent of the location 109 ofthe source contact and/or the device 102). For example, as depicted, thecontroller 120 may provide, at the display device 126, the currentlocation 1209 of the device 101, determined using the locationdetermining device 131. In these embodiments, activation of thepositioning function using the button 132-4 may cause the controller 120to generate a map 1211 at the display device 126 that includes thecurrent location 1209, but not the location 109.

Alternatively, the controller 120 may provide, using the speaker 130,the current location 1209, and further receive voice commands and/orvoice instructions via the microphone 129 to generate a route to alocation received via the microphone 129.

Attention is next directed to FIG. 13, FIG. 14, FIG. 15, FIG. 16 andFIG. 17 which depict an example embodiment of the method 600. Each ofFIG. 13, FIG. 15 and FIG. 17. is substantially similar to FIG. 1 (thoughthe device 101 is depicted without the device 102, the electroniccommunication 103, and the link 105), with like elements having likenumbers. Each of FIG. 14, and FIG. 16 is substantially similar to FIG.3, with like elements having like numbers. Furthermore, it is assumed inFIG. 13, FIG. 14, FIG. 15, FIG. 16 and FIG. 17 that the controller 120is executing the application 123 and is performing at least the method600.

Indeed, in FIG. 13 and FIG. 14, the device 101 and the controller 120are depicted as detecting that the voice activation button 133 has beenactivated (e.g. at the block 602 of the method 600) and are furtherdepicted as receiving, via the microphone 129, contact information, forexample when the button 133 is activated. It is assumed that activationof the button 133 and/or the receipt of the contact information via themicrophone 129 triggers the controller 120 to determine whether a button132 is activated within the further threshold time period of the method600.

For example, with reference to FIG. 13, the finger 715 of the responder115 is depicted as activating the button 133 and speaking a name of acontact (e.g. “Contact 2”) which is received as sound 1304 at themicrophone 129. With reference to FIG. 14, the controller 120 detects(e.g. at the block 602 of the method 600) that the button 133 has beenactivated, for example by receiving an indication 1403 from the button133. As depicted, the indication 1403 comprises data that enables thecontroller 120 to detect that the button 133 was activated, as depictedtext “133”. However, the indication 1403 may comprise any type ofindication and/or data and/or signal.

The controller 120 further receives (e.g. at the block 604 of the method600) contact information 1414 via the microphone 129, for example, thecontact information 1414 may comprise the sound 1304 received at themicrophone 129 converted to text, and the like. The controller 120 maythen retrieve associated contact name data 151-1 from the contact data150 using, for example a name, and the like in the contact information1414, for example to retrieve a network address, telephone number, atalkgroup identifier, and the like associated with the contact name data151-2.

In other words, it is assumed in the depicted example embodiment thatthe sound 1304 includes a contact name that may be used to retrieve thecontact name data 151-2. Alternatively, the responder 115 may speakcontact information that includes a network address, a telephone number,a talkgroup identifier, and the like, which may be converted to text(e.g. as contact information 1414) and used in a respective functionassociated with the buttons 132.

With reference to FIG. 15, after activating the button 133, andproviding the contact information as the sound 1304, the responder 115may activate a button 132-2 as described above with respect to FIG. 7.

With reference to FIG. 16, the controller 120 detects (e.g. at the block606 of the method 600) that the button 132-2 has been activated, forexample by receiving an indication 1602 from the button 132-2 which issimilar to the indication 802, as described above with respect to FIG.8.

With further reference to FIG. 16, the controller 120 identifies (e.g.at the block 608 of the method 600) the respective function mapped tothe button 132-2 that has been activated, for example “Function 2”,which comprises a messaging function in example embodiments of FIG. 15and FIG. 16. Hence, similar to FIG. 8, the respective function mapped tothe button 132-2 may be identified using the mapping 140 and in FIG. 16,the controller 120 has retrieved the instructions “Function 2”corresponding to the button 132-2 using the indication 1602, for exampleby comparing the indication 1602 with the identifiers 141 to determine amatch, and the like. However, the indication 1602 may alternatively beused to look-up the respective function in the mapping 140 using look-uptable and/or database techniques, and/or used to identify the respectivefunction when the button 132-2 is dedicated to the respective function.

As it is assumed that the button 132-2 was activated within the furtherthreshold time period of the method 600 (e.g. a “YES” decision at theblock 610), the controller 120 performs (e.g. at the block 612) therespective function “Function 2”, and specifically the messagingfunction, using the contact information received via the microphone 129.For example, as depicted in FIG. 16, the controller 120 may retrieve thenetwork address 1107 and optionally the contact name 1111 from thecontact name data 151-2, to generate an electronic communication 1603(e.g. an email message) to the network address 1107 and optionallyincluding the contact name 1111. Alternatively, a contact name receivedin the contact information 1414 may be used in the electroniccommunication 1603. The controller 120 may generate the electroniccommunication 1603 and display and/or provide and/or render theelectronic communication 1603 at the display device 126 and/or play theelectronic communication 1603 at the speaker 130.

For example, attention is directed to FIG. 17 which depicts theelectronic communication 1603 at the display device 126, the electroniccommunication 1603 addressed to the network address 1107, and theelectronic communication 1603 including a greeting to the contact name1111. The responder 115 may add text to the electronic communication1603, for example by interacting with a keyboard of the device 101(including, but not limited to, a keyboard rendered at the displaydevice 126).

However, similar to embodiments described above with respect to themethod 500, the responder 115 may also add text to the electroniccommunication 1603 via voice commands, voice interactions, and the like;indeed, the responder 115 may complete and send the message entirelythrough the use of voice commands, voice interactions, and the like,received at the microphone 129. Furthermore, the controller 120 maycontrol the speaker 130 to “play” the text of the electroniccommunication 1603 upon generation of the electronic communication 1603,including, for example, the network address 1107 and optionally thegreeting that includes the contact name 1111, such that the responder115 may interact with the device 101 entirely through voice commandsand/or voice interactions after activation of the button 132-2. Forexample, as depicted in FIG. 17, the speaker 130 is emitting sound 1701corresponding to text “Communication Generated To Contact1 Atcontact1@123.com”.

Furthermore, the block 614 may be implemented at the controller 120 inmanner similar to the block 512 of the method 500, as described abovewith reference to FIG. 10.

While the method 600 was described with reference to a messagingfunction (e.g. an email function), the function performed at the block612 depends on the button 132 which is activated and the associatedrespective function, similar to that described above with respect to themethod 500. However, when a positioning function is performed, forexample when the button 132-4 is activated, a location of a deviceand/or a contact identified via the contact information received via themicrophone 129 may be requested from an associated device (e.g. at anetwork address stored in the contact name data 151-1) and/or a server,and the like, (not depicted) which tracks locations of devices.

In some embodiments, whether the method 500 and/or the method 600 isbeing implemented, a button 132 may be activated with a threshold timeperiod according to a given pattern, for example a short press, a longpress, a double press and the like. Furthermore, when a respectivefunction is performed (e.g. at the block 510 of the method 500 and/orthe block 612 of the method 600) may be dependent on the given pattern.

Such embodiments assume that the controller 120 is configured todistinguish between different given patterns of activation of thebuttons 132, for example to distinguish between a short press (e.g. abutton 132 is activated for less than a given time period), a long press(e.g. a button 132 is activated for longer than a given time period),and a double press (e.g. a button 132 is activated twice within a giventime period).

For example, when implementing the method 500, at the block 504, thecontroller 120 may detect that a button 132 has been activated accordingto a first given pattern or a second given pattern. Furthermore, whenimplementing the block 510, the controller 120 may, when a button 132 isactivated according to the first given pattern, within the thresholdtime period of the method 500, perform the respective function accordingto a first mode. Similarly, when implementing the block 510, thecontroller 120 may, when a button 132 is activated according to thesecond given pattern, within the threshold time period of the method500, perform the respective function according to a second mode. In yetfurther embodiments, when implementing the block 510, the controller 120may, when a button 132 is activated according to a third given pattern,within the threshold time period of the method 500, perform therespective function according to a third mode. At least one of the modesis performed using the source contact from which the electroniccommunication 103 was received, however other modes may be performedindependent of the source contact from which the electroniccommunication 103 was received.

Similarly, when implementing the method 600, at the block 606, thecontroller 120 may detect that a button 132 has been activated accordingto a first given pattern or a second given pattern. Furthermore, whenimplementing the block 612, the controller 120 may, when a button 132 isactivated according to the first given pattern, within the thresholdtime period of the method 600, perform the respective function accordingto a first mode. Similarly, when implementing the block 612, thecontroller 120 may, when a button 132 is activated according to thesecond given pattern, within the threshold time period of the method600, perform the respective function according to a second mode. In yetfurther embodiments, when implementing the block 612, the controller 120may, when a button 132 is activated according to a third given pattern,within the threshold time period of the method 600, perform therespective function according to a third mode. At least one of the modesis performed using the using the contact information received via themicrophone 129, however other modes may be performed independent of theusing the contact information received via the microphone 129.

For example, attention is next directed to FIG. 18 which depicts a table1800 which defines different example modes of the respective functionsof the buttons 132, for different given patterns of activation of thebuttons 132 during a threshold time period (e.g. of either the method500 or the method 600), including a short press, a long press and adouble press. The table 1800, and the like, may be stored at the memory122, for example, as a component of the application 123.

Hence, for example, when the push-to-talk function is performed when thebutton 132-1 is activated during a threshold time period: for a shortpress, a last missed push-to-talk call is announced, for example at thespeaker 130 (e.g. independent of the source contact of the electroniccommunication 103 and/or contact information received via the microphone129, and assuming that the controller 120 maintains a record of missedpush-to-talk calls); no respective function is performed for a doublepress; and for a long press, a push-to-talk call is initiated for acurrent contact (e.g. the source contact of the electronic communication103 and/or a contact defined by the contact information received via themicrophone 129).

Similarly, when the messaging function is performed when the button132-2 is activated during a threshold time period: for a short press, anunread message (e.g. an unread electronic communication, assuming theelectronic communication is a message and/or an email) is played, forexample at the speaker 130 (e.g. independent of the source contact ofthe electronic communication 103 and/or contact information received viathe microphone 129, and assuming that the controller 120 maintains arecord of unread messages) and the controller 120 toggles and/or movesto a next unread message (which may be played upon receipt of anothershort press of the button 132-2); for a double press, the message may bereplayed at the speaker 130; and for a long press, a message isinitiated to a current contact (e.g. the source contact of theelectronic communication 103 and/or a contact defined by the contactinformation received via the microphone 129).

Similarly, when the private call function is performed when the button132-3 is activated during a threshold time period: for a short press, alast missed private call (e.g. a received electronic message comprises atelephone call) is announced, for example at the speaker 130 (e.g.independent of the source contact of the electronic communication 103and/or contact information received via the microphone 129, and assumingthat the controller 120 maintains a record of missed private callsand/or telephone calls); no respective function is performed for adouble press; and for a long press, a private call is initiated for acurrent contact (e.g. the source contact of the electronic communication103 and/or a contact defined by the contact information received via themicrophone 129) which may include a call back when the electroniccommunication 103 received is telephone call.

Similarly, when the positioning function is performed when the button132-4 is activated during a threshold time period: for a short press, alocation of a current contact (e.g. the source contact of the electroniccommunication 103 and/or a contact defined by the contact informationreceived via the microphone 129) is provided on a map at the displaydevice 126 (e.g. as in FIG. 12) and/or announced at the speaker 130; norespective function is performed for a double press; and for a longpress, directions to a location of the current contact is provided on amap at the display device 126 (e.g. as also depicted in FIG. 12) and/orannounced at the speaker 130.

After a threshold time period, when any of the buttons 132 areactivated, for example using a long press (e.g. as described above withrespect to FIG. 11), and hence there is initially no “selected” contact,the controller 120 receives contact information via the microphone 129as described above with respect to FIG. 11, and initiates a respectivefunction. In particular when the button 132-4 is activated to perform apositioning function, a location may be received via the microphone 129,and the controller 120 may one or more of: map the location and/orprovide directions to the location.

As depicted, the activation of the button 133 may also occur accordingto a given pattern, for example a short press or a long press. For ashort press, any of the methods 500, 600 may be aborted, cancelledand/or restarted (and/or a “Home” screen may be provided at the displaydevice 126). For a long press, the method 600 is initiated and contactinformation is received at the microphone 129 as described above withrespect to FIG. 13, FIG. 14, FIG. 15, FIG. 16, and FIG. 17.

Furthermore, in some embodiments, when the button 133 is activatedaccording to a long press (and the like) while the method 500 is beingperformed, the method 500 may be aborted, and the method 600 initiated.

Similarly, in some embodiments, when a message is received while themethod 600 is being performed, the method 600 may be aborted, and themethod 500 initiated.

Provided herein is a device and method for locking in button contextbased on a source contact of an electronic communication. For example, arespective function for button may be “locked in” to a context definedby a source contact of an electronic communication, at least for athreshold time period. During the threshold time period followingreceipt of the electronic communication, the respective functions of anyof one or more buttons at the device are performed using the sourcecontact. Also provided herein is a device and method for locking inbutton context based on a contact information received via a microphone.For example, a respective function for button may be “locked in” to acontext, after activation of a voice activation button, the contextdefined by contact information received via a microphone afteractivation of a voice activation button, at least for a threshold timeperiod. During the threshold time period following activation of a voiceactivation button, the respective functions of any of one or morebuttons at the device are performed using the contact informationreceived via a microphone.

In the foregoing specification, specific embodiments have beendescribed. However, one of ordinary skill in the art appreciates thatvarious modifications and changes may be made without departing from thescope of the invention as set forth in the claims below. Accordingly,the specification and figures are to be regarded in an illustrativerather than a restrictive sense, and all such modifications are intendedto be included within the scope of present teachings.

The benefits, advantages, solutions to problems, and any element(s) thatmay cause any benefit, advantage, or solution to occur or become morepronounced are not to be construed as a critical, required, or essentialfeatures or elements of any or all the claims. The invention is definedsolely by the appended claims including any amendments made during thependency of this application and all equivalents of those claims asissued.

In this document, language of “at least one of X, Y, and Z” and “one ormore of X, Y and Z” may be construed as X only, Y only, Z only, or anycombination of two or more items X, Y, and Z (e.g., XYZ, XY, YZ, XZ, andthe like). Similar logic may be applied for two or more items in anyoccurrence of “at least one . . . ” and “one or more . . . ” language.

Moreover, in this document, relational terms such as first and second,top and bottom, and the like may be used solely to distinguish oneentity or action from another entity or action without necessarilyrequiring or implying any actual such relationship or order between suchentities or actions. The terms “comprises,” “comprising,” “has”,“having,” “includes”, “including,” “contains”, “containing” or any othervariation thereof, are intended to cover a non-exclusive inclusion, suchthat a process, method, article, or apparatus that comprises, has,includes, contains a list of elements does not include only thoseelements but may include other elements not expressly listed or inherentto such process, method, article, or apparatus. An element proceeded by“comprises . . . a”, “has . . . a”, “includes . . . a”, “contains . . .a” does not, without more constraints, preclude the existence ofadditional identical elements in the process, method, article, orapparatus that comprises, has, includes, contains the element. The terms“a” and “an” are defined as one or more unless explicitly statedotherwise herein. The terms “substantially”, “essentially”,“approximately”, “about” or any other version thereof, are defined asbeing close to as understood by one of ordinary skill in the art, and inone non-limiting embodiment the term is defined to be within 10%, inanother embodiment within 5%, in another embodiment within 1% and inanother embodiment within 0.5%. The term “coupled” as used herein isdefined as connected, although not necessarily directly and notnecessarily mechanically. A device or structure that is “configured” ina certain way is configured in at least that way, but may also beconfigured in ways that are not listed.

It will be appreciated that some embodiments may be comprised of one ormore generic or specialized processors (or “processing devices”) such asmicroprocessors, digital signal processors, customized processors andfield programmable gate arrays (FPGAs) and unique stored programinstructions (including both software and firmware) that control the oneor more processors to implement, in conjunction with certainnon-processor circuits, some, most, or all of the functions of themethod and/or apparatus described herein. Alternatively, some or allfunctions could be implemented by a state machine that has no storedprogram instructions, or in one or more application specific integratedcircuits (ASICs), in which each function or some combinations of certainof the functions are implemented as custom logic. Of course, acombination of the two approaches could be used.

Moreover, an embodiment may be implemented as a computer-readablestorage medium having computer readable code stored thereon forprogramming a computer (e.g., comprising a processor) to perform amethod as described and claimed herein. Examples of suchcomputer-readable storage mediums include, but are not limited to, ahard disk, a CD-ROM, an optical storage device, a magnetic storagedevice, a ROM (Read Only Memory), a PROM (Programmable Read OnlyMemory), an EPROM (Erasable Programmable Read Only Memory), an EEPROM(Electrically Erasable Programmable Read Only Memory) and a Flashmemory. Further, it is expected that one of ordinary skill,notwithstanding possibly significant effort and many design choicesmotivated by, for example, available time, current technology, andeconomic considerations, when guided by the concepts and principlesdisclosed herein will be readily capable of generating such softwareinstructions and programs and ICs with minimal experimentation.

The Abstract of the Disclosure is provided to allow the reader toquickly ascertain the nature of the technical disclosure. It issubmitted with the understanding that it will not be used to interpretor limit the scope or meaning of the claims. In addition, in theforegoing Detailed Description, it may be seen that various features aregrouped together in various embodiments for the purpose of streamliningthe disclosure. This method of disclosure is not to be interpreted asreflecting an intention that the claimed embodiments require morefeatures than are expressly recited in each claim. Rather, as thefollowing claims reflect, inventive subject matter lies in less than allfeatures of a single disclosed embodiment. Thus, the following claimsare hereby incorporated into the Detailed Description, with each claimstanding on its own as a separately claimed subject matter.

1. A device comprising: a communication interface; one or more buttons,each mapped to activation of respective functions; a display device; anda controller configured to: receive, via the communication interface, anelectronic communication from a source contact; detect that a button, ofthe one or more buttons, has been activated; identify a respectivefunction mapped to the button, the respective function comprising apositioning function; when the button is activated within a thresholdtime period after receiving the electronic communication, perform therespective function using the source contact from which the electroniccommunication was received by providing, at the display device, one ormore of: a location of the source contact and a route to the sourcecontact; and when the button is activated after the threshold timeperiod, perform the respective function independent of the sourcecontact by providing, at the display device, a current location of thedevice.
 2. The device of claim 1, wherein the respective functionscomprise one or more of: a messaging function, an e-mail function, apush-to-talk function, a telephone function, a private call function, anincident management function, a video streaming function, and thepositioning function.
 3. The device of claim 1, wherein the electroniccommunication comprises a playable message, and the threshold timeperiod ends after a given amount of time after the playable message endsplaying.
 4. The device of claim 1, wherein the controller is furtherconfigured to: detect that the button has been activated according to agiven pattern, wherein performing the respective function is dependenton the given pattern.
 5. The device of claim 1, wherein the controlleris further configured to: detect that the button has been activatedaccording to a first given pattern or a second given pattern; when thebutton is activated according to the first given pattern, within thethreshold time period, perform the respective function according to afirst mode, using the source contact; and when the button is activatedaccording to the second given pattern, within the threshold time period,perform the respective function according to a second mode, using thesource contact.
 6. (canceled)
 7. The device of claim 1, furthercomprising a microphone, wherein the controller is further configuredto, when the button is activated after the threshold time periodaccording to a given pattern: receive, via the microphone, contactinformation; and perform the respective function using the contactinformation received via the microphone.
 8. The device of claim 1,wherein the controller is further configured to perform the respectivefunctions of any of the one or more buttons using the source contact,when activated within the threshold time period following receipt of theelectronic communication.
 9. The device of claim 1, further comprising amicrophone and a voice activation button, wherein the controller isfurther configured to, after the threshold time period: detect that thevoice activation button is activated; receive, via the microphone,contact information; detect that the button is activated within afurther threshold time period; and perform the respective function usingthe contact information received via the microphone.
 10. The device ofclaim 1, further comprising a memory storing a mapping between the oneor more buttons and the respective functions.
 11. A method comprising:receiving, via a communication interface, an electronic communicationfrom a source contact; detecting, via a controller, that a button, ofone or more buttons, has been activated, each of the one or more buttonsmapped to activation of respective functions; identifying, via thecontroller, a respective function mapped to the button, the respectivefunction comprising a positioning function; when the button is activatedwithin a threshold time period after receiving the electroniccommunication, performing, via the controller, the respective functionusing the source contact from which the electronic communication wasreceived by providing, via the controller, at a display device, one ormore of: a location of the source contact and a route to the sourcecontact; and when the button is activated after the threshold timeperiod, performing, via the controller, the respective functionindependent of the source contact by providing, via the controller, atthe display device, a current location of a device that includes thecontroller.
 12. The method of claim 11, wherein the respective functionscomprise one or more of: a messaging function, an e-mail function, apush-to-talk function, a telephone function, a private call function, anincident management function, a video streaming function, and thepositioning function.
 13. The method of claim 11, wherein the electroniccommunication comprises a playable message, and the threshold timeperiod ends after a given amount of time after the playable message endsplaying.
 14. The method of claim 11, further comprising: detecting, viathe controller, that the button has been activated according to a givenpattern, wherein performing the respective function is dependent on thegiven pattern.
 15. The method of claim 11, further comprising:detecting, via the controller, that the button has been activatedaccording to a first given pattern or a second given pattern; when thebutton is activated according to the first given pattern, within thethreshold time period, performing, via the controller, the respectivefunction according to a first mode, using the source contact; and whenthe button is activated according to the second given pattern, withinthe threshold time period, performing, via the controller, therespective function according to a second mode, using the sourcecontact.
 16. (canceled)
 17. The method of claim 11, further comprising,when the button is activated after the threshold time period accordingto a given pattern: receiving, at the controller, via a microphone,contact information; and performing, via the controller, the respectivefunction using the contact information received via the microphone. 18.The method of claim 11, further comprising performing the respectivefunctions of any of the one or more buttons using the source contact,when activated within the threshold time period following receipt of theelectronic communication.
 19. The method of claim 11, furthercomprising, after the threshold time period: detecting, via thecontroller, that a voice activation button is activated; receiving, atthe controller, via a microphone, contact information; detecting, viathe controller, that the button is activated within a further thresholdtime period; and performing, via the controller, the respective functionusing the contact information received via the microphone.
 20. Themethod of claim 11, further comprising identifying a respective functionmapped to the button using a mapping between the one or more buttons andthe respective functions.
 21. A device comprising: a communicationinterface; a microphone; one or more buttons, each mapped to activationof respective functions; and a controller configured to: receive, viathe communication interface, an electronic communication from a sourcecontact; detect that a button, of the one or more buttons, has beenactivated; identify a respective function mapped to the button; when thebutton is activated within a threshold time period after receiving theelectronic communication, perform the respective function using thesource contact from which the electronic communication was received;when the button is activated after the threshold time period, performthe respective function independent of the source contact; and when thebutton is activated after the threshold time period according to a givenpattern: receive, via the microphone, contact information; and performthe respective function using the contact information received via themicrophone.
 22. A method comprising: receiving, via a communicationinterface, an electronic communication from a source contact; detecting,via a controller, that a button, of one or more buttons, has beenactivated, each of the one or more buttons mapped to activation ofrespective functions; identifying, via the controller, a respectivefunction mapped to the button; when the button is activated within athreshold time period after receiving the electronic communication,performing, via the controller, the respective function using the sourcecontact from which the electronic communication was received; when thebutton is activated after the threshold time period, performing, via thecontroller, the respective function independent of the source contact;and when the button is activated after the threshold time periodaccording to a given pattern: receiving, at the controller, via amicrophone, contact information; and performing, via the controller, therespective function using the contact information received via themicrophone.